
%imm8% = %i1%,
%imm16% = %i1h%, %i1l%,

byte = ?,
word = ?, ?,


non_ : | $00
xa_  : | $01
ya_  : | $02
ib_  : | $03
xyi_ : | $04
str_ : | $05
iwi_ : | $06
stp_ : | $07

brk_ : $00
nop_ : $01
int_ : $02
rti_ : $03
run_ : $04
hlt_ : $05
prn_ : $06
rts_ : $07

shr_ : $08
shl_ : $09
ror_ : $0A
rol_ : $0B
sra_ : $0C
swn_ : $0D

xxs_ : $0E
xxi_ : $0F

jpr_ : $18
jpz_ : $1C
jnz_ : $1D
jpc_ : $1E
jnc_ : $1F

jmp_ : $50
jsr_ : $58
stf_ : $60
sta_ : $68
stx_ : $70
sty_ : $78
ldf_ : $80
lda_ : $88
ldx_ : $90
ldy_ : $98
adx_ : $A0
sbx_ : $A8
ady_ : $B0
sby_ : $B8
ads_ : $C0
sbs_ : $C8
add_ : $D0
sub_ : $D8
cmp_ : $E0
and_ : $E8
ior_ : $F0
xor_ : $F8


{nop/shr/shl/rorr/rol/sra/swn/xxs/xxi/rti/int/brk/rts/run/hlt} = %s1%_,
{jmp/jsr} %imm16% = %s1%_ iwi_, %i1h%, %i1l%,
{jmp/jsr} xy = %s1%_ xyi_,
{jpr/jpz/jnz/jpc/jnc} %imm16% = %s1%_, %i1r%,

{ld/st}{f/a/x/y} %imm16% = %s1%%s2%_ iwi_, %i1h%, %i1l%,
{ld/st}{f/a/x/y} %imm8% = %s1%%s2%_ str_, %i1%,
ld{f/a/x/y} xy = ld%s1%_ xyi_,
st{f/a} xy = st%s1%_ xyi_,
pp{f/a/x/y} = ld%s1%_ stp_,
ph{f/a/x/y} = st%s1%_ stp_,
ld{f/a/x/y} #%imm8% = ld%s1%_ ib_, %i1%,
cl{f/a/x/y} = ld%s1%_ non_,
clc = ldf_ non_,
{adx/sbx/ady/sby/ads/sbs/add/sub/cmp/and/ior/xor} %imm16% = %s1%_ iwi_, %i1h%, %i1l%,
{adx/sbx/ady/sby/ads/sbs/add/sub/cmp/and/ior/xor} %imm8% = %s1%_ str_, %i1%,
{add/sub/cmp/and/ior/xor} xy = %s1%_ xyi_,
{adx/sbx/ady/sby/ads/sbs/add/sub/cmp/and/ior/xor} #%imm8% = %s1%_ ib_, %i1%,

ldf x = ldf_ xa_,
ldf a = ldf_ ya_,
lda x = lda_ xa_,
lda y = lda_ ya_,
ldx a = ldx_ xa_,
ldx y = ldx_ ya_,
ldy x = ldy_ xa_,
ldy a = ldy_ ya_,
{adx/sbx} a = %s1%_ xa_,
{adx/sbx} y = %s1%_ ya_,
{ady/sby/ads/sbs} x = %s1%_ xa_,
{ady/sby/ads/sbs} a = %s1%_ ya_,
{add/sub/cmp/and/ior/xor} {x/y} = %s1%_ %s2%a_,
inc = add_ non_,
dec = sub_ non_,
tst = cmp_ non_,
inx = adx_ non_,
dex = sbx_ non_,
iny = ady_ non_,
dey = sby_ non_,
ins = ads_ non_,
des = sbs_ non_,

lxy #%imm16% = ldx_ ib_, %i1h%, ldy_ ib_, %i1l%,

prn = prn_ non_,
